package com.foreveross.weixin.common;

import com.foreveross.weixin.vo.AccessToken;
import com.foreveross.weixin.vo.JsApiTicket;

public class Constant {
	
	/******************************微信常量参数 begin**********************************************************/
	/** 
     * 微信加密签名，signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数
     */
	public static final String SIGNATURE = "signature";
	/** 
     * 时间戳
     */
	public static final String TIMESTAMP = "timestamp";
	/** 
     * 随机数
     */
	public static final String NONCE = "nonce";
	/** 
     * 随机字符串
     */
	public static final String ECHOSTR = "echostr";
	
	/** 
     * 消息类型
     */
	public static final String MSG_TYPE = "MsgType";
	/** 
     * 获取到的凭证
     */
	public static final String ACCESS_TOKEN = "access_token";
	/** 
     * 凭证有效时间，单位：秒
     */
	public static final String EXPIRES_IN = "expires_in";
	
	/**
	 *  第三方用户唯一凭证  
	 */
	public static final String appId = "wx30127f21c9a69197";  
    /**
     *  第三方用户唯一凭证密钥  
     */
	public static final String appSecret = "4b15c0960e0bf44e2cccbbe17f03a7de";  
	
	/**
	 * 支付 API 密钥
	 */
	public static final String payAPIKey = "3cCTeqeM2kUOTccdGJPuNHLlSkBz9IjO";
	
	/**
	 * 商户号
	 */
	public static final String MCH_ID = "1265924701";
	
	/**
	 * 设备号
	 */
	public static final String DEVICE_INFO = "WEB";
	
	/**
	 * 交易类型
	 */
	public static final String TRADE_TYPE ="JSAPI";
	
	/** 
     * 与接口配置信息中的Token要一致
     */
	public static final String TOKEN = "HRTenement"; 
	
	/**
	 * 网页授权类型
	 */
	public static final String SCOPE_SNSAPI_BASE = "snsapi_base";
	public static final String SCOPE_SNSAPI_USERINFO = "snsapi_userinfo";
	
	/**
	 *  获取access_token的接口地址（GET） 限200（次/天）
	 */
	public final static String access_token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET"; 

	/**
	 * 菜单创建（POST） 限100（次/天）  
	 */
	public static String menu_create_url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN"; 
	
	/**
	 * 获取jsapi_tickect
	 */
	public static String jsapi_tickect = "http://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=ACCESS_TOKEN";
	
	/**
	 * 网页 用户同意授权，获取code
	 */
	public static String oauth2_authorize_code_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect";
	
	/**
	 * 获取网页 access_token
	 */
	public static String oauth2_access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
	/**
	 * 刷新网页 access_token
	 */
	public static String oauth2_refresh_token_url = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN";
	
	/**
	 * 拉取用户信息(需scope为 snsapi_userinfo)
	 */
	public static String oauth2_userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";
	
	/**
	 * 检验授权凭证（access_token）是否有效
	 */
	public static String oauth2_check_access_token_url = "https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID";
	
	/**
	 * 下载多媒体文件
	 */
	public static String get_media_url ="http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID";
	
	/**
	 * 创建临时二维码
	 */
	public static String get_qrcode_ticket_url ="https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN";
	
	/**
	 * 统一下单
	 */
	public static String pay_unifiedorder_url ="https://api.mch.weixin.qq.com/pay/unifiedorder";
	
	/**
	 * 查询订单
	 */
	public static String pay_orderquery_url ="https://api.mch.weixin.qq.com/pay/orderquery";
	
	/**
	 * 申请退款
	 */
	public static String pay_refund_url ="https://api.mch.weixin.qq.com/secapi/pay/refund";
	/******************************微信常量参数 end**********************************************************/
	
	/******************************系统属性设置 begin**********************************************************/
	/**
	 * 全局accessToken
	 */
	public static AccessToken accessToken;
	/**
	 * 全局jsApiTicket
	 */
	public static JsApiTicket jsApiTicket;

	/******************************系统属性设置 end**********************************************************/
	
	/******************************按钮类型 begin**********************************************/
	/** 
     * 普通按钮事件
     */  
    public static final String COMMON_BUTTON_EVENT = "click";  
    
    /** 
     * VIEW按钮事件
     */  
    public static final String VIEW_BUTTON_EVENT = "view";  
	/******************************按钮类型 end**********************************************/
	
	/******************************返回消息类型 begin**********************************************/
	/** 
     * 返回消息类型：文本 
     */  
    public static final String RESP_MESSAGE_TYPE_TEXT = "text";  
  
    /** 
     * 返回消息类型：音乐 
     */  
    public static final String RESP_MESSAGE_TYPE_MUSIC = "music";  
  
    /** 
     * 返回消息类型：图文 
     */  
    public static final String RESP_MESSAGE_TYPE_NEWS = "news";  
  
    /******************************返回消息类型 end**********************************************/
    
    /******************************请求消息类型 begin**********************************************/
    /** 
     * 请求消息类型：文本 
     */  
    public static final String REQ_MESSAGE_TYPE_TEXT = "text";  
  
    /** 
     * 请求消息类型：图片 
     */  
    public static final String REQ_MESSAGE_TYPE_IMAGE = "image";  
  
    /** 
     * 请求消息类型：链接 
     */  
    public static final String REQ_MESSAGE_TYPE_LINK = "link";  
  
    /** 
     * 请求消息类型：地理位置 
     */  
    public static final String REQ_MESSAGE_TYPE_LOCATION = "location";  
  
    /** 
     * 请求消息类型：音频 
     */  
    public static final String REQ_MESSAGE_TYPE_VOICE = "voice";  
  
    /** 
     * 请求消息类型：推送 
     */  
    public static final String REQ_MESSAGE_TYPE_EVENT = "event";  
    
    
    /******************************请求消息类型 end**********************************************/
    
    /******************************事件类型 begin**********************************************/
    /** 
     * 事件类型：subscribe(订阅) 
     */  
    public static final String EVENT_TYPE_SUBSCRIBE = "subscribe";  
  
    /** 
     * 事件类型：unsubscribe(取消订阅) 
     */  
    public static final String EVENT_TYPE_UNSUBSCRIBE = "unsubscribe";  
  
    /** 
     * 事件类型：CLICK(自定义菜单点击事件) 
     */  
    public static final String EVENT_TYPE_CLICK = "CLICK"; 
    
    
    /******************************事件类型 end**********************************************/
}
